package com.yanzhang.dao.provider;

import com.yanzhang.pojo.Provider;

import java.sql.Connection;
import java.util.List;

/**
 * @author yanzhang
 */
public interface ProviderDao {

    /**
     * 增加一个供应商
     * @param connection 数据库连接
     * @param provider 供应商对象
     * @return 结果数量
     * @throws Exception 抛出SQL异常
     */
    int add(Connection connection, Provider provider) throws Exception;

    /**
     * 条件查询结果集
     * @param connection 数据库连接
     * @param proName 供应商名
     * @param proCode 供应商编码
     * @return 供应商集合
     * @throws Exception 抛出SQL异常
     */
    List<Provider> getProviderList(Connection connection, String proName, String proCode) throws Exception;

    /**
     * 条件查询总数量
     * @param connection 数据库连接
     * @param proName 供应商名
     * @param proCode 供应商编码
     * @return 数量
     * @throws Exception 抛出SQL异常
     */
    int getProviderCount(Connection connection, String proName, String proCode) throws Exception;

    /**
     * 根据id获取供应商对象
     * @param connection 数据库连接
     * @param id 主键
     * @return 供应商对象
     * @throws Exception 抛出SQL异常
     */
    Provider getProviderById(Connection connection, int id) throws Exception;

    /**
     * 修改供应商信息
     * @param connection 数据库连接
     * @param provider 供应商对象
     * @return 结果数量
     * @throws Exception 抛出SQL异常
     */
    int modify(Connection connection, Provider provider) throws Exception;

    /**
     * 根据id删除供应商
     * @param connection 数据库连接
     * @param id 主键
     * @return 结果数量
     * @throws Exception 抛出SQL异常
     */
    int deleteProviderById(Connection connection, int id) throws Exception;
}
